using System;
using System.Collections.Generic;

namespace TheLogWatcher
{
    public class FilterCriteria
    {
        private Dictionary<string, string> fields = new Dictionary<string, string>();
        public Dictionary<string, string> Fields
        {
            get { return fields; }
        }

        private string filterText;
        public string FilterText
        {
            get { return this.filterText; }
            set { this.filterText = value; }
        }

        private DateTime datetimeStart = new DateTime(0);
        /// <summary>
        ///     Date and time of the desired period start.
        /// </summary>
        public DateTime DatetimeStart
        {
            get { return this.datetimeStart; }
            set { datetimeStart = value; }
        }

        private DateTime datetimeStop = new DateTime(0);
        /// <summary>
        ///     Date and time of the desired period end.
        /// </summary>
        public DateTime DatetimeStop
        {
            get { return this.datetimeStop; }
            set { datetimeStop = value; }
        }

        /// <summary>
        ///     Java package that is named in log entry.
        /// </summary>
        public string Package
        {
            get { return this.Fields["Package"]; }
        }

        /// <summary>
        ///     The main log message, the so called stack trace.
        /// </summary>
        public string Message
        {
            get { return this.Fields["Log"]; }
        }
    }
}
